library(dplyr)
library(haven)
library(readxl)
library(ggplot2)
library(ggiraph)
library(plotly)
way <- here::here() #chemin relatif de notre base de données
path1 <- paste0(way,"/annual-growth-in-gni-per-capita.csv")
path2 <- paste0(way,"/gender-inequality-index.csv")
path3 <- paste0(way,"/population-growth-annual.csv")
base_1_tp3 <- read.csv(path1)
base_2_tp3 <- read.csv(path2)
base_3_tp3 <- read.csv(path3)
La logique a suivre a identique pour tous les trois graphiques. Il s’agira de faire après l’importation de la base de données :
base_1_tp3 <- base_1_tp3%>%
select(Region.Name,Value,End.Year)
# Selection des pays
country_western_africa <- c("Benin","Burkina Faso","Cabo Verde","Gambia","Ghana","Guinea",
"Guinea-Bissau","Mali","Niger","Nigeria","Senegal","Togo","Côte d’Ivoire","Sierra Leone","Mauritania")
# Selection des données et aggregation des données pour avoir les données de west africa
western_africa <- base_1_tp3 %>%
filter(Region.Name %in% country_western_africa)%>%
group_by(End.Year)%>%
summarise(Value=mean(Value))
# Création de la variable Region.Name pour west africa
western_africa$Region.Name="Western Africa"
# Changement des position des colonnes
western_africa <- western_africa %>%
select(Region.Name,Value, End.Year)
data_niger <- base_1_tp3%>%
filter(Region.Name=="Niger") #Juste prendre les données du Niger avec le filtre
# On a aggreger les données pour avoir les données de tout les pays en faisant la somme des values de chaque pays
world <- base_1_tp3 %>%
group_by(End.Year)%>%
summarise(Value=mean(Value))
# Creation de la variable Region.Name
world$Region.Name="World"
# Changement des position des colonnes
world <- world %>%
select(Region.Name,Value, End.Year)
# Supperposion des trois bases
base_graphics_1 <- bind_rows(western_africa,data_niger,world)
graphics_1 <-ggplot(base_graphics_1) +
aes(x = End.Year, y = Value, colour = Region.Name) +
geom_point(shape = "circle", size = 1.5) + #pour définir les points
geom_line() + #Pour ajouter les lignes
scale_color_manual(values = c(Niger = "#218ECA",
`Western Africa` = "#4A4C4C", World = "#8C868A")) +#les couleurs des courbes
scale_x_continuous(breaks = seq(1970, max(base_graphics_1$End.Year), by = 10)) + # Définir le pas entre les années à 10
theme_minimal() +#le thème (le fond)
theme(legend.position = "top")+ #Position de la legend
labs( title = "Figure : Income growth and distribution (Gini Index)", x="",y="")+ #titre
guides(color = guide_legend(override.aes = list(linetype = NA), title = "")) + #Pour éliminer les traits qui sont sur la legend
theme(plot.title = element_text(colour = "blue",face = "italic"))#Couleur du titre
graphics_1
graphics_1 <- graphics_1+geom_line_interactive(aes(data_id=base_graphics_1$Value,tooltip=base_graphics_1$Region.Name),size=1)+geom_point_interactive(aes(tooltip=base_graphics_1$Value),size=1.2)
ggiraph(code = print(graphics_1), tooltip_extra_css = "background-color:black;color:white;font-style:italic;padding:10px;border-radius:10px 20px 10px 20px;",
tooltip_opacity = 0.75,zoom_max = 5)
ggplotly(graphics_1)
base_3_tp3 <- base_3_tp3%>%
select(Region.Name,Value,End.Year)
# Selection des données et aggregation des données pour avoir les données de west africa
western_africa <- base_3_tp3 %>%
filter(Region.Name %in% country_western_africa)%>%
group_by(End.Year)%>%
summarise(Value=mean(Value))
# Création de la variable Region.Name pour west africa
western_africa$Region.Name="Western Africa"
# Changement des position des colonnes
western_africa <- western_africa %>%
select(Region.Name,Value, End.Year)
data_niger <- base_3_tp3%>%
filter(Region.Name=="Niger") #Juste prendre les données du Niger avec le filtre
# On a aggreger les données pour avoir les données de tout les pays en faisant la somme des values de chaque pays
world <- base_3_tp3 %>%
group_by(End.Year)%>%
summarise(Value=mean(Value))
# Creation de la variable Region.Name
world$Region.Name="World"
# Changement des position des colonnes
world <- world %>%
select(Region.Name,Value, End.Year)
# Supperposion des trois bases
base_graphics_2 <- bind_rows(western_africa,data_niger,world)
graphics_2 <-ggplot(base_graphics_2) +
aes(x = End.Year, y = Value, colour = Region.Name) +
geom_point(shape = "circle", size = 1.5) +
geom_line() +
scale_color_manual(values = c(Niger = "#218ECA",
`Western Africa` = "#4A4C4C", World = "#8C868A")) +
scale_x_continuous(breaks = seq(1960, max(base_graphics_2$End.Year), by = 10)) + # Définir le pas entre les années à 10
scale_y_continuous(limits = c(0, max(base_graphics_2$Value) + 1), breaks = seq(0, max(base_graphics_2$Value) + 1, by = 1)) +
theme_minimal() +
theme(legend.position = "top")+
labs( title = "Figure : Annual population growth (%)", x="",y="")+
guides(color = guide_legend(override.aes = list(linetype = NA), title = "")) +
theme(plot.title = element_text(colour = "blue",face = "italic"))
graphics_2
ggplotly(graphics_2)
base_2_tp3 <- base_2_tp3%>%
select(Region.Name,Value,End.Year)
# Selection des données et aggregation des données pour avoir les données de west africa
western_africa <- base_2_tp3 %>%
filter(Region.Name %in% country_western_africa)%>%
group_by(End.Year)%>%
summarise(Value=mean(Value))
# Création de la variable Region.Name pour west africa
western_africa$Region.Name="Western Africa"
# Changement des position des colonnes
western_africa <- western_africa %>%
select(Region.Name,Value, End.Year)
data_niger <- base_2_tp3%>%
filter(Region.Name=="Niger") #Juste prendre les données du Niger avec le filtre
# On a aggreger les données pour avoir les données de tout les pays en faisant la somme des values de chaque pays
world <- base_2_tp3 %>%
group_by(End.Year)%>%
summarise(Value=mean(Value))
# Creation de la variable Region.Name
world$Region.Name="World"
# Changement des position des colonnes
world <- world %>%
select(Region.Name,Value, End.Year)
# Supperposion des trois bases
base_graphics_3 <- bind_rows(western_africa,data_niger,world)
graphics_3 <- base_graphics_3 %>%
filter(End.Year >= 1990L & End.Year <= 2021L) %>%
ggplot() +
aes(x = End.Year, y = Value, colour = Region.Name) +
geom_point(shape = "circle", size = 1.5) +
geom_line() +
scale_color_manual(values = c(Niger = "#218ECA",
`Western Africa` = "#4A4C4C", World = "#8C868A")) +
scale_x_continuous(breaks = seq(1990, max(base_graphics_3$End.Year), by = 5)) + # Définir le pas entre les années à 10
scale_y_continuous(limits = c(0, max(base_graphics_3$Value) + 0.2), breaks = seq(0, max(base_graphics_3$Value) + 0.2, by = 0.2)) +
theme_minimal() +
theme(legend.position = "top")+
labs( title = "Figure : Gender inequality index", x="",y="")+
guides(color = guide_legend(override.aes = list(linetype = NA), title = "")) +
theme(plot.title = element_text(colour = "blue",face = "italic"))
graphics_3
ggplotly(graphics_3)
##FIN